//链接数据库 并设置环境
const db = wx.cloud.database({
    env:"cloud1-4g3cojhne56b3fce" //云开发的环境id
})
const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo:{},//存储用户信息
    hasUserInfo:false,//是否授权
    avatarUrl: defaultAvatarUrl,
  },
  //跳转
    logins(){
        wx.navigateTo({
            url: '/pages/home/index',
        })
    },

  onChooseAvatar(e) {
    const { avatarUrl } = e.detail 
    this.setData({
      avatarUrl,
    })
  },

  //用户点击授权按钮后的回调
  onGetUserInfo: function (e) {
    console.log('授权结果:', e)
    
    if (e.detail.userInfo) {
      // 用户同意授权
      const userInfo = e.detail.userInfo
      console.log('用户信息:', userInfo)
      
      // 存储到本地
      wx.setStorageSync('userInfo', userInfo)
      
      // 更新页面数据
      this.setData({
        userInfo: userInfo,
        hasUserInfo: true
      })
      
      // 显示成功提示
      wx.showToast({
        title: '授权成功',
        icon: 'success'
      })
      
      // 这里可以调用你的登录云函数
      this.login(userInfo)
      
    } else {
      // 用户拒绝授权
      console.log('用户拒绝授权')
      wx.showToast({
        title: '授权失败',
        icon: 'none'
      })
    }
  },

  //登录云函数
 login(userInfo) {
   wx.showLoading({ title: '登录中...' })

   // 调用云函数获取用户openid
   wx.cloud.callFunction({
     name: 'login', // 确保这个云函数已部署
     data: {},
     success: async (res) => {
       const openid = res.result.openid
       console.log('用户openid:', openid)

       // 检查数据库中是否已有该用户
       const userRes = await db.collection('user')
         .where({ _openid: openid })
         .get()

       if (userRes.data.length === 0) {
         // 新用户：添加到数据库
         await db.collection('user').add({
           data: {
             ...userInfo,
             _openid: openid,
             createTime: db.serverDate() // 使用服务器时间
           }
         })
         console.log('新用户注册成功')
       } else {
         console.log('老用户登录成功')
       }
     },
     fail: (err) => {
       console.error('云函数调用失败', err)
     },
     complete: () => {
       wx.hideLoading()
     }
   })
 },


  //自定义函数（方法）获取数据
  getAllData(){
    db.collection('user').get({
        success:function(res){
            console.log(res);
        }
    })
  },

  //获取一条数据
  getOneData(){
    //   db.collection('user').doc('8f6c3a6368ff1da100f7eb4d1425d46b').get({
    //       success:function(res){
    //         console.log('获取一条数据',res);
    //       }
    //   })

    // db.collection('user').doc('8f6c3a6368ff1da100f7eb4d1425d46b').get().then(res=>{
    //     console.log('一个数据',res);
    // })

    db.collection('user').where({
       hobbys:['篮球','足球']
    }).get().then(res=>{
        console.log(res);
    })
  },

  //获取多个数据 where多条件查询
  getDataByName(){
    //   db.collection('user').where({
    //     username:"王烨"
    //   }).get().then(res=>{
    //       console.log('多条件查询',res);
    //   })

    //查询的对象是引用数据类型 比如对象
    db.collection('user').where({
        //'style.color':'blue'
        style:{
            color:'blue'
        }
    }).get().then(res=>{
        console.log(res);
    })
  },

  //添加数据 add()添加数据
  getAddData(){
        // db.collection('user').add({
        //     data:{
        //         username:'Tom',
        //         age:21,
        //         sex:'男'
        //     },success:function(res){
        //         console.log('添加成功',res);
        //     }
        // })

         db.collection('user').add({
            data:{
                username:'Jack',
                age:25,
                sex:'女·'
            }
        }).then(res=>{
            console.log('添加数据',res);
        })
  },

  //删除数据 remove()删除
  getRemoveData(){
    // db.collection('user').doc('o09xv1xvCGegaqmQksvBYSfepbDc').remove({
    // success:function(res){
    //     console.log(res);
    //     }
    // })

    //数据中 _openid 进行鉴权 有权限可执行删除 更新等操作
    db.collection('user').where({
        _id:'dab5292a68ff57ea00fb38fc7ea7b887'
    }).remove({
        success:function(res){
            console.log('删除',res);
        }
    })
  },

  //更新数据 update set(类似于替换一个新记录 之前的记录被删除了)
  getUpDateData(){
    db.collection('user').where({
        _id:'22be1a4268ff56cf00f9cb7677971e42'
    }).update({
        data:{
            username:'好难啊'
        }
    }).then(res=>{
        console.log('更新',res);
    })
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
     // 检查本地是否有用户信息
     const userInfo = wx.getStorageSync('userInfo')
     if (userInfo) {
       this.setData({
         userInfo: userInfo,
         hasUserInfo: true
       })
     }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
  }
})